package com.victor.dao;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.victor.entity.group.GroupCollection;
import com.victor.entity.group.GroupTour;
import com.victor.entity.group.Lycompany;
import com.victor.entity.group.LycompanyPhoto;

@Mapper
public interface GroupDao {

	/**
	 * 获取团游列表
	 * 
	 * @return
	 */
	List<GroupTour> getGroupTour(@Param("jqclassid") String jqclassid, @Param("starttime") String starttime,
			@Param("endtime") String endtime, @Param("search") String search);

	/**
	 * 通过景区id查询开设景区团游的公司
	 * 
	 * @param jqid
	 * @return
	 */
	List<GroupTour> getLycompany(@Param("jqid") String jqid);

	/**
	 * 通过旅游公司id查询旅游公司详情
	 * 
	 * @param lycid
	 * @return
	 */
	Lycompany getLycompanyXQ(@Param("lycid") String lycid);

	/**
	 * 通过旅游公司id查询该公司都开设了哪些景区
	 * 
	 * @param lycid
	 * @return
	 */
	List<GroupTour> getGroupTourList(@Param("lycid") String lycid);

	/**
	 * 获取旅游公司列表
	 * 
	 * @return
	 */
	List<Lycompany> getLycompanyList();

	/**
	 * 批量删除旅游公司
	 * 
	 * @param ids
	 * @return
	 */
	int batchDeleteLycompany(int[] ids);

	/**
	 * 新建旅游公司
	 * 
	 * @param lycompany
	 * @return
	 */
	int addLycompany(Lycompany lycompany);

	/**
	 * 添加旅游公司照片
	 * 
	 * @param lycompanyPhoto
	 * @return
	 */
	@Insert({ "insert into t_lycompany_photo (lcid,photourl) values (#{lcid},#{photourl})" })
	int addLycompanyPhoto(LycompanyPhoto lycompanyPhoto);
	/**
	 * 查询全部团游
	 * @param search
	 * @param start
	 * @param end
	 * @return
	 */
	List<GroupTour> selGroupTou(String search, String start, String end);
	/**
	 * 删除团游
	 * @param ids
	 * @return
	 */
	boolean delGroupTour(int[] ids);
	/**
	 * 查询全部团游
	 * @return
	 */
	List<GroupTour> selAll();
	/**
	 * 根据id查询
	 * @param id
	 * @return
	 */
	@Select({"select * from t_grouptour where id=#{id}"})
	GroupTour delGrouptouById(Integer id);
	/**
	 * 根据城市查询
	 * @param city
	 * @return
	 */
	List<GroupTour> selGroupByCity(@Param("city")String city,@Param("classid")String classid);
	/**
	 * 修改团游人数
	 * @param personnum
	 * @param grouptourid
	 * @return
	 */
	boolean updatePerson(@Param("personnum")String personnum, @Param("grouptourid")String grouptourid);
	/**
	 * 查询团游详情
	 * @param groupid
	 * @return
	 */
	GroupTour selByGroupId(Integer groupid);
	/**
	 * 根据uid  groupid查询
	 * @param groupid
	 * @param uid
	 * @return
	 */
	GroupTour selByGroupIdAndUid(@Param("id")Integer groupid,@Param("uid") String uid);
	/**
	 * 添加团游收藏
	 * @param uid
	 * @param groupid
	 * @return
	 */
	boolean insertGroupCollection(GroupCollection controller);
	
	

}
